/*
ONEGAME
Copyright (C) 2009  Pablo Caballero

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package one.project;

import java.util.ArrayList;
import one.map.ILayerMap;
import swing.tree.ITreeModelNode;

/**
 * Maps of the project
 * @author Pablo Caballero
 * @version 1.0 22-jun-2009
 */
public interface ILayerManager extends ITreeModelNode {

    /**
     * Returns the descriptive name for this section
     * @return the descriptive name for this section
     */
    @Override
    public String toString();

    /**
     * Gets the number of layers
     * @return
     */
    int getLayerCount();

    /**
     * Gets the layer
     * @param index the index of the layer
     * @return the layer
     */
    ILayerMap getLayer(int index);

    /**
     * Adss a new empty layer
     */
    void addLayer();

    /**
     * Deletes the layers of the list (if exists)
     * @param layers the list of the layers
     * @return the number of layers that have been deleted
     */
    public int deleteLayers(ArrayList<ILayerMap> layers);

    /**
     * Resizes the layers
     * @param width width of the maps
     * @param height height of the maps
     */
    public void resize(int width, int height);
}
